Cambiar el resultado de una cita


Introducción

Con este método cambiamos el estado de una cita, y si usamos el resultado de tipo reasignación se crea una nueva cita con los mismos datos de la anterior.


Para este método debemos agregar un token en Headers de tipo Authorization con el token necesario. (consultar los métodos: Contactos/Líneas de negocios y Contactos/Estados de contacto por línea)

{success} POST: /api/public/results


use GuzzleHttp\Client;

$client = new Client();

$res = $client->request("POST", "{$endpoint}/api/public/results", [
    "form_params" => [
        {
            "appointment": {
                "id": 152
            },
            "status": 5,
            "result": 9,
            "changeContactStatus": 1, //Si no se requiere dejarlo en 0
            "contactStatus": 64, // Si changeContactStatus == 1
            "comment": "Se mueve desde api public",
            "startDate": "2024-08-28",
            "startHour": "15:00",
            "endHour": "15:30"
        }
    ]
]);

$result = json_decode($res->getBody(), true);

return $result;

Respuestas exitosas

{
    "code": 200,
    "message": "Cita reasignada correctamente con código: 137",
    "data": {
        "code": 200,
        "message": "Cita reprogramada exitosamente",
        "reschedule": 137
    }
}
{
    "code": 200,
    "message": "Resultado de cita modificado correctamente",
    "data": {
        "description": "Se mueve desde api public",
        "next_follow_date": "2024-08-29T15:24:56.826699Z",
        "created_follow_date": "2024-08-22T15:24:56.826754Z",
        "contact_id": 245,
        "created_by_id": 2,
        "updated_by_id": 2,
        "branch_id": 2,
        "company_id": 2,
        "follow_type_id": 7,
        "updated_at": "2024-08-22T15:24:56.000000Z",
        "created_at": "2024-08-22T15:24:56.000000Z",
        "id": 842
    }
}

Respuestas fallidas

{
    "code": 401,
    "message": "Existe una cita para este perfil en este rango de tiempo (nota: también podría ser invitado de otra cita).",
    "errors": {
        "appointment": [
            "Existe una cita para este perfil en este rango de tiempo (nota: también podría ser invitado de otra cita)."
        ]
    }
}

{
    "code": 401,
    "message": "Este perfil está bloqueado para agregar citas",
    "errors": {
        "appointment": [
            "Este perfil está bloqueado para agregar citas"
        ]
    }
}